• ベストアンサー

perlで,c言語で言うところのatoiはできる?

perlでキャラクタの数字を,スカラーの数字になるよう明記することってできますか? perlが勝手にキャラクタとスカラーの変更をしてしまうのを防ぎたいのですが・・・ c言語でのatoi関数のようなものはあるのでしょうか?

  • Perl
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • Ceren
  • ベストアンサー率49% (90/183)
回答No.4

どういう局面で困っているのかよくわかりませんが、たとえば組み込み関数のint()ではどうですか?

number44
質問者

お礼

説明不足ですみません. int()という関数があるのですね.このような関数を探していました. 回答ありがとうございました

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

何をしたいのか私にも理解できないのですが, たぶんキーワード (?) は +0 のような気がする.

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

今ひとつ質問の意図する所がワカランのですが、 $var = 123456; としたのに、 $var == "123456" のような状態になるのを防ぎたいということでしょうか? それとも入力が "12345" と文字列で与えられたときに強制的に 12345 が変数に入るようにしたいということですか?

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

atoiの内部原理を知っていればperlでも作れると思うんだけれどどうなのかな? とりあえずバイナリとして保持すれば有る程度防げるんじゃないかな

関連するQ&A

  • C言語の [ atoi ] について

    私は、C初心者です。 最近勉強していて 「atoi」というのがよく理解できません。 本を調べると 「文字列を整数に変換する。」 書かれています。 これは、どういう意味でしょうか。 「AAA」という文字列も 「1234」みたいな感じの整数になって しまうということでしょうか。 本の使用例で get(string); i=atoi(string);   とあるのですが printf("%s",i); と付け加えたらやはり 数字で表示されるのでしょうか。 よろしくお願いします。

  • サブルーチン Perl みたいに C言語 で使うには 

    いままで数年HPを運営していたためにCGIを開発する手段として、Perl言語を使用してきました。その後、あるきっかけでC言語をするようになり、理屈上PerlとC言語が似ていました。 いままで、Perlでは開発・デバッグ等を効率よくするためサブルーチンを他のファイルにパッケージファイルとして開発していました。非常に便利でこれがC言語でも同じく使えたらいいなとつくづく思っています。 Perl言語の例 main.cgi(本体のファイル) package.pl(パッケージファイル) 本体ほファイルで実行させ、実行の途中必要なサブルーチンをパッケージファイルから呼び出します。 呼び出すには、 %渡す値=&パッケージ名::サブルーチン名; 同じようにC言語でやるときはどのようにすればいいのでしょうか?

  • C言語のisgraph

    C言語のisgraph関数 <C++> UINT uint = 66; if(isgraph(uint)){} をPerlに書き換えようとしたんですが、 <Perl> $uint = 66; if(??? =~ /[:graph:]/){} ここまでしか分かりませんでした。 Perlへの正しい変換を教えてください。

    • ベストアンサー
    • Perl
  • C言語で一部perlを呼び出したいのですが。

    C言語にて、一部をPerlのスクリプトを呼び出して 使用したいのですが、どうすれば良いかわかりません。 必要なものと、出来ればやり方を簡単に教えていただける とうれしいです。

  • C言語で分からないところがあるのですが・・・

    すみません。C言語で分からないところがあったので来ました。 ユーザから数字を任意の数だけ受け取って、その数字とその和を表示するプログラムです。atoiなる関数、そしてコマンドライン引数というのを使って考えてみた結果を下に書きましたので、どなたか修正してください。お願いします。 実行結果(のイメージ図) 20 39 4 sum 20 39 4 63 途中までのソースコードです。 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc,char *argv[]) { int sum; int n,i; printf("How many numbers INPUT?: "); scanf("%d", &n); for(i = 0; i <= n; i++){ atoi(argv[i]); } sum = printf("%d",sum); return 0; }

  • perl言語について

    いままで、Visual C++製品を使用してC言語を覚えてきました。 cgiを作成したいとおもい、perlを覚えようとしています。 不満、不安があるのですが、 Visualな画面で変数に色をつけてみたり、 自動インデントしてくれたり、 デバッガがあったり、、、 PerlのIDEはありませんか? 初心者にメモ帳はつらいです。 後、Perl言語に変数すべてに$がついているはみにくくていやです。型がなくて不安です。 それから、print "Hello";のprintは、どうして&print ではないのですか? 後、書籍は買ったほうがよろしいでしょうか? くだらない内容かもしれませんがお答えいただけると助かります。

    • ベストアンサー
    • Perl
  • perlからcを呼び出す

    perl初心者です。すごく困っています。 perl上の数値をcプログラムで呼び込んで処理して処理結果をperlに返す、という処理がわからず困っています。誰か教えていただけませんか? 具体的にはperl上での社員の名簿のID(数字)をcでe-mailアドレスにしてperlに返すという感じです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • C言語の関数について困っています

    こんにちは。 C言語で、テキストファイルの行数を数える関数があれば教えて頂けないでしょうか。例えば、以下の3行を含んでいるテキストファイルを対象としたとすれば 123465789123456789 1234567981234579 987654321987654321 関数を実行すれば、3という数字が得られ、 123456  789 123546879  123 123  456789123   123456789123 というテキストファイルであれば、4という数字が得られる。そんな関数をご存知な方は私にご教授願えないでしょうか。どうぞよろしくお願いします。

  • Perlで書いたプログラムをC言語に変換するツールはありますか?

    perlをEXEにするのは聞いたことがあるのですが Perlで書いたプログラムをC言語に変換するツールはありますか? WindowsのActivePerl5.8を使っています。 Linuxなら出来るのでしょうか?

    • ベストアンサー
    • Perl
  • もし仮に5つの言語(Python, Java, C/C++, Perl

    もし仮に5つの言語(Python, Java, C/C++, Perl, LISP、アセンブラ)を学ぶとした場合の学習順序 こんばんは。 もしこの5つを何年かかけて学ぶとした場合、この学習順序をどうおもいますか? ちなみにこの5つの言語は、linuxなどのOSやオープンソースソフトウェアの開発に携わっている方たち(ハッカーの方たち) が、OSや言語開発をするなら学ぶべき言語として主張していました。(クラッカーではなくハッカーです) この方たちがいうには pythonをはじめに学習し、次にjava それからC/C++, Perl, LISP、アセンブラの順番が良いと言っていました。 特にpythonを一番に学び、javaを2番に学ぶべき理由としては↓ まず Python から始めることをおすすめします。設計がきれいだし、ドキュメントもしっかりしているし、初心者にもそこそことっつきやすくできています。でも入門言語として最適でも、おもちゃではありません。強力で柔軟で、大きなプロジェクトにもじゅうぶん対応しています Java もプログラミングを学ぶにはよい言語です。 Python よりはむずかしいですが、できるコードは Python より高速です。二番目の言語としてはとてもすぐれていると思います。 本気でプログラミングをするなら、C を勉強するしかありません。これは Unix の中核となる言語です。C++ は C と密接な関係にあります。片方を知っていれば、もう片方を学ぶのはそんなにむずかしくありません。が、どっちも真っ先に勉強しようとするのには向いた代物ではありません。 それ以外に Perl と LISP があります。Perl は実際的な意味からも勉強しておく価値があります。アクティブ Web ページやシステム管理にとても広く使われているからです。自分では Perl を使わなくても、読めるようにはなっておきましょう。LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LISP そのものをあまり使わなくても。 さらに、visualbasicやC#などはやめた方が良い。と主張しています。↓ ウィンドウズの下でハッキングを学ぶのを、拘束衣を着て踊りを学ぶのに例えたのは、あれは冗談じゃないんですよ。 Visual Basic や C# にはそれぞれ個別に問題があります。その大きなものは、移植性がないことです。マイクロソフトの独占言語だというだけで、もうすでに失格ですし、ほかの Basic と同じく言語としての設計もまずく、悪いプログラミングの習慣が身についてしまいます。 足りなかったのでこちらに。 みなさんはこの順序や考えについてどうおもいますか? 本当にpythonは最初に適した言語なのでしょうか? 長文になってしまい申し訳ありません。 できればひとりでも多くの技術者の意見が聞きたいです。なんでもかまいません。 もし良ければ回答お願いします。