No.3ベストアンサー
- 回答日時:
そういう仕様でしょう。
Perlの数値定数の場合は 0x 先行で 16進、 0 先行で 8進を意味します。
だから、chmod(0750,$file); は chmod(488,$file); と等価です。
一方、数値が必要なところに文字列があると自動的に数値に変換されますが、その時は 0x や 0 先行で 16進や 8進という規則がありません。
つまり、chmod('0750',$file); は chmod('750',$file); と等価でさらに chmod(750,$file); と等価です。 chmod(0750,$file); とは違うのです。
'0750' または '750' という文字列から 488 という数値を得るには、 oct('750') または oct('0750') が使えます。
参考URL:http://perldoc.jp/docs/perl/5.8.4/perlfunc.pod
No.2
- 回答日時:
chmod の第1引数は数値 (整数) を要求していて, 「文字列を数値に変換する」ときには必ず 10進数と解釈するから.
実は perldoc を読めばこの辺は全部書いてある.
No.1
- 回答日時:
Perlは少しかじった程度なので勘違いならすみません。
$per = "0750";
でダブルクオートで代入しているため$perに10進数で750という値が入っているのではないでしょうか?
750(10進数)=1356(8進数)で下3桁の356が設定されているのが原因かもしれません。
print $per
で$perの中身を確認してみて下さい。
0750をそのまま代入したいのであればシングルクオートで囲ってみてはどうでしょうか?
$per = '0750';
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- UNIX・Linux Linuxの実行結果を修正したいです。 6 2022/11/22 12:57
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- UNIX・Linux ファイル・フォルダーの削除方法 2 2022/05/19 14:04
- その他(ソフトウェア) Emacsメニューの日本語化について 1 2023/06/16 15:52
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C++/CLI】ファイルオープンに...
-
MATLABのm-fileについて
-
ファイル全てを .xlsm に変更し...
-
エクセルVBAで素数だけを出力す...
-
VBAでCSVファイルを途中行まで...
-
CSVが可変長の場合の検索方法
-
log2の「正確な」計算方法
-
perlでCSVをソートする方法につ...
-
C言語の問題について
-
[perl] perlで書き込み中に、PC...
-
ボタン操作による指定ドキュメ...
-
htmlから、ファイル、もしくはC...
-
VBAで巨大なファイルの途中から...
-
MAC OSXのTerminalにperlの出力...
-
ファイルの3行目までを出力したい
-
エラーチェック、ファイルに特...
-
perl system関数 引数 フォルダ
-
perlを使ってファイル分割
-
openした後、closeしないでプロ...
-
htaccessで特定のディレクトリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
csvファイルの横方向への改行に...
-
fgets で値が取得できない
-
MATLABのm-fileについて
-
JSP URLに表示される拡張子 .jsp
-
drtファイルはどうしたら開...
-
PerlでのUseless use...
-
ファイル全てを .xlsm に変更し...
-
python renameについて
-
巨大なテキストの最終行を取得...
-
Firefox で file:// で始まる U...
-
VBAコードを張り付け後のエクセ...
-
perl ファイルが開かない
-
ファイルの存在の有無を確かめ...
-
AutoNts
-
VBA テキストファイルを読み取...
-
fopen64について
-
行を指定して削除する方法PERL
-
文字列をカウントする方法
-
HTMLのフォームで画像と文...
おすすめ情報