• ベストアンサー

MAC OSXのTerminalにperlの出力が表示されない

kapuraの回答

  • ベストアンサー
  • kapura
  • ベストアンサー率50% (48/95)
回答No.1

手元にあるMacでは質問にある通りにやれば表示されますよ (「perl ソースファイル」と打ち込むならchmodしなくても実行できます)。特にディベロッパーツールとかインストールしていない、あまり使い込んでいない標準的な状態のMacです。 ソースファイルの文字コードとか改行コードとか確認する (UTF-8でLFのプレインテキストになっているかどうか) と解決するかも?ターミナルのウィンドウ設定のディスプレイで文字セットエンコーディングがUTF-8になっているかとかも一応確認してみたらどうか? # Mac OS Xの標準状態でPerlは実行できるので、最終手段ですけどMac OS Xをインストールし直せば、確実に解決すると思います

adrock
質問者

お礼

お礼が遅くなって大変申し訳ありません。 miを使っているのですが、デフォルトでShift JIS+CRになっていました。 LFに直したらうまくいきました。ありがとうございます。 ちなみにShift JIS+LFだと?nで改行されるのですが、UTF-8+LFだと?nがそのまま出力されて改行されないことも分かりました。 これは自分で調べてみます。文字コードと改行コードはプログラムを書くにあたって気をつけないといけないようですね。いきなりいい経験ができました。

関連するQ&A

  • Perlの超初心者です。

    Perlの超初心者です。 mac osXを使っています。テキストエディットで、#! /usr/bin/perl print "hello world!\n";と書いてperl-test.plと保存しました。そしてターミナルを起動してperl-test.plとタイプしたのですが、-bash: perl-test.pl: No such file or directoryとなってしまいます。 試しにターミナルでperl -le "print 'hello world';"とタイプするとhello worldとかえってきました。 perl-test.plはfinderのデスクトップに保存してあります。いったいどうすればperl-test.plのファイルを実行できるのですか? 教えて下さい。よろしくお願いします。

  • perlの起動法

    perl起動法について質問なのですが、 perlでファイルを作り、一番上に#!/usr/bin/perlと書いて、perl.plという名前で保存しました。 ターミナルで$chmod 755 perl.pl $./perl.pl とコマンドをうったのですが、print文で書いたhello worldというが表示されません。 でもperl perl.plとコマンドを打つと実行されます。 一体この違いはなんなのでしょうか?学校の課題で、どうしても./perl.plとして実行させなければならないので是非解答お願いします。

    • ベストアンサー
    • Perl
  • Perlを始めたんですが

    プログラミングを始めようと思ってPerlをしているのですが プログラムを書いて開くとすぐに画面が消えてしまいます ActivePerlというのはいれてあります 書いたプログラムはこんなものです use strict; use warnings; print "Hello world";

    • ベストアンサー
    • Perl
  • 超初心者です

    最近Perlの勉強を本をつかって始めたのですが、 最初の段階でつまずいています。 プログラムは #!/usr/bin/perl #プログラム:hello.pl print "Hello, world!\n"; という本当に実に単純なものなのですが、これをターミナルで実行しようとすると $ hello.pl bash: hello.pl: command not found と表示されてしまします。 $ perl hello.pl Hello, world! ではちゃんと動いています。 Perlの場所は $ find /usr -name perl /usr/bin/perl /usr/doc/db3-devel-3.2.9/ref/perl により間違っていないと思いますし、 chmod 755 hello.pl も行っています。 なにぶん初心者ですので何が他に理由でエラーになるのかわかりません。もしよろしければ、アドバイスをいただけるとうれしいです。 自分はVineLinux2.6を使っていてPerlのバージョンは5.006001です。

    • ベストアンサー
    • Perl
  • ブラウザ表示されません大変困っています

    perlの勉強を始めていますが、早速問題発生しました。 cygwinインストトール AN HTTPインストール ↓プログラムソース #!/cygwin/bin/perl print "contenttype: text/html\n\n"; print "hello,world"; と出力しましたが、ブラウザに表示されません。 有益な情報を探しましたが見つかりませんでした。 プログラムのミスでしょうか? 的確なアドバイス教えてください。 返信宜しくおねがいします。

  • コンソール出力をテキストに出力する方法(コンソール出力は残しつつ)

    【質問】  Perl内部で実行される実行ファイル(.exe)のコンソール出力(STDOUT,STDERR)をテキストファイルに出力したい。(Perlのコンソール出力も含む。) ※コンソール出力は残しつつ。 (コマンドプロンプトの)パイプとリダイレクトを使用して上手くいくかと思ったのですが、標準出力と標準エラーとでは標準エラーが先に出力されてしまい、本来出力される順番で出力されない。(標準出力はバッファにたまるため??) 何かいい方法はありませんでしょうか? 【環境】  Windows2000  Active Perl 5.8.8

    • ベストアンサー
    • Perl
  • Windows版Perlの標準入力&標準出力

    Windows2000にActive Perl5.6をインストールしています。 標準入力をそのまま標準出力するプログラムを作っているのですが うまく動きません。 DOSコマンドの使い方が間違っているのか、Perlの書き方が間違って いるのか、それともWindows版のPerlではこのような使い方はできない のか、教えてください。 ■プログラムソース(c:\test.pl) while(<>){ print; } ■実行方法 c:\data.dat|test.pl>data2.dat ■データ(data.datの中身) こんにちわ ※実行するとdata2.datにdata.datの内容がCOPYされる 予定なのですが、正しく動きません。

    • ベストアンサー
    • Perl
  • 変数の中身が出力されない

    下記のソースで、(1)の Hello World!! は出力されるのですが、(2)は何も出力されません。なぜでしょうか? <?php $hello = "Hello World!!"; ?> <HTML><BODY> (1) <?php print $hello; ?><BR> (2) <?= $hello ?><BR> </BODY></HTML> php.iniで register_globals = On にしても同じでした。 環境はPHP5、Apache2.2です。

    • ベストアンサー
    • PHP
  • ターミナルにおけるPythonスクリプトの実行方法

    ターミナルにおいて、Pythonで書いたスクリプトを実行したいです。 手始めに、有名な print"Hello,World"を試してみました。対話型では成功したのですが、 「python プログラム名」の方法では失敗してしまいます。 そのとき、「syntax error」と表示されてしまいます。 全くの素人のため、自分で調べてもさっぱり分かりませんでした。 どうしたらスクリプトを正しく実行することができるのか、教えてください。よろしくお願いします。 環境:imac,mac osx

    • 締切済み
    • Mac
  • WindowsでPerlをする際,1行目の"#! ~"はどのように?

    Perlの参考書・本等ではプログラムファイルの第1行目は #! /usr/local/bin/perl という1行がよく有りますが,WindowsXPを用いている場合では,この1行をどう直せばよいのでしょうか? #! (perl.exeが存在するフォルダのパス) でよいのでしょうか? 私はWindowsXPを使っていて,この1行を使わずにプログラムを書いておりましたので,この1行の意味がよく分かりません。 ある参考書には,"#!はその行に書いたコマンドに,ファイルの残りの部分を渡して実行すると言う性質を持っている"と有りました。だから,試しにfile1.plとfile2.txtを準備し, file1.plの中身  #! (perlの存在するフォルダのパス)\perl.exe  while(<STDIN>){   print;  } file2.txtの中身  hello world として,コマンドプロンプトで file1.pl < file2.txt としたのですが正しく動作しませんでした.(perl file1.pl < file2.txt と入力した場合は正しく"hello world"となりました)

    • ベストアンサー
    • Perl