IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[debutant] lancer un script perl


Sujet :

Langage Perl

  1. #1
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut [debutant] lancer un script perl
    Bonjour,
    je ne connais absolument rien au perl, mais j'aimerai pouvoir
    lancer ce script là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    # Listing 1. Prestuff.pl
     
    use Win32::API::Prototype;
     
    %CACHE_ENTRY = (
    	COOKIE => 0x00100000,
    	NORMAL => 0x00000001, 
    	STICKY => 0x00000004,
    	TRACK_OFFLINE => 0x00000010, 
    	TRACK_ONLINE => 0x00000020, 
    	URLHISTORY => 0x00200000,
    	SPARSE => 0x00010000
    );
     
    my $Url = shift @ARGV || die;
    my $UrlFile = shift @ARGV;
    my( $UrlExtension ) = ( $Url =~ /\.([^\/]*?)$/ );
    my $UrlData;
    # BEGIN CALLOUT A
    my $Path = NewString( 256 );
    # END CALLOUT A
    ApiLink( "wininet", "BOOL CreateUrlCacheEntry(
                         LPCTSTR lpszUrlName,
                         DWORD dwExpectedFileSize,
                         LPCTSTR lpszFileExtension,
                         LPTSTR lpszFileName,
                         DWORD dwReserved )" );
    ApiLink( "wininet", "BOOL CommitUrlCacheEntry(
                         LPCTSTR lpszUrlName,
                         LPCTSTR lpszLocalFileName,
                         DWORD ExpireTimeLow,
                         DWORD ExpireTimeHigh,
                         DWORD LastModifiedTimeLow,
                         DWORD LastModifiedTimeHigh,
                         DWORD CacheEntryType,
                         LPCTSTR lpHeaderInfo,
                         DWORD dwHeaderSize,
                         LPCTSTR lpszFileExtension,
                         LPCTSTR lpszOriginalUrl )" );
     
    # BEGIN CALLOUT B
    if( "" ne $UrlFile )
    {
    	open( URLFILE, "< $UrlFile" ) || die "Cannot open $UrlFile";
    	bindmode( URLFILE );
    	# Locally clear the input record separator variable ($/)
    	# so that you can read the content of large files.
    	local( $/ );
    	$UrlData = join( "", <URLFILE> );
    	close( URLFILE );
     
    }
    else
    {
    	# Add code here to download the file.
    }
    # END CALLOUT B
     
    if( CreateUrlCacheEntry( $Url, length( $UrlData ), $UrlExtension, $Path, 0 ) )
    {
    # BEGIN CALLOUT C
    	open( CACHEFILE, "> $Path" ) || die "Cannot write to '$Path'";
    	binmode( CACHEFILE );
    	print CACHEFILE $UrlData;
    	close( CACHEFILE );
    # END CALLOUT C
     
    	if( CommitUrlCacheEntry( $Url, $Path, 0, 0, 0, 0, $CACHE_ENTRY{NORMAL},undef, 0, $UrlExtension, $Url ) )
    	{
    		print "Url was successfully cached.\n";
    	}
    	else
    	{
    		print "Failed to prestuff.\n";
    	}
    }
    trouvé dans cette page: http://www.windowsitpro.com/Articles...eID=21574&pg=1
    y a t-il une sorte de compilation à faire ?
    En fait j'aimerai pouvoir le lancer d'une application .net en c#, donc je pense que le mieux c'est de passer par l'intermediaire d'un batch.
    Merci.
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    Descends unpeu dans la page web que tu as indiqué et tu trouveras :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl Prestuff.pl Url File
    pour exécuter le script.

  3. #3
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    ...ah tu te rends compte combien je n'y connais rien .
    Mais je dois lancer ca dans une ligne de commande de windows ?
    dans ce cas windows ne va pas reconnaitre perl, faut donc telecharger quelque chose ?

    edit: j'ai peut-etre ce qu'il faut:
    http://www.indigostar.com/perl2exe.htm
    ...Mais ca n'a pas l'air gratuit et en plus je vois pas comment le lancer l'exe avec des parametres
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    Perl est un langage de scripts et interprété, il n'y a pas de compilation et de binaires comme avc C/C++/Java.

    Dans ton ca, il te faut Perl pour Windows : www.activestate.com

    De là tu pourras dans une console lancer ton script avc la commande donnée précédemment.

  5. #5
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    je suis chipoteur, mais java c'est aussi interpreté .
    Merci pour le lien. Sinon tu n'as pas d'idée pour une sorte
    de perl2exe mais gratuit ?
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par orelero
    je suis chipoteur, mais java c'est aussi interpreté .
    A chipoteur, chipoteur et demi

    Java est compilé en pseudo-code. C'est ce dernier qui est interprété par la machine virtuelle ... Ok, je , vite, vite ...

    Citation Envoyé par orelero
    Merci pour le lien. Sinon tu n'as pas d'idée pour une sorte
    de perl2exe mais gratuit ?
    Fourni avec ActivePerl par ActiveState, au lien sus-mentionné.

    Tu installes ActivePerl sur ta machine de développement, pour pouvoir faire plein d'essais et d'erreurs. Une fois ton script stabilisé et prêt, tu le convertis en exécutable avec par et tu déploie sur les autres machines.

    En gros, par ajoute à ton script toutes les bibliothèques nécessaires et lie le tout avec un interpréteur Windows embarqué.

    C'est valable pour des scripts autonomes, mais je préfère ne pas y penser dans le cas d'un CGI ou de PerlMod pour des pages Web dynamiques
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  7. #7
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    ok merci ca marche !
    sujet resolu
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  8. #8
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    bon, ca marche pas, j'ai installé l'interpreteur, ensuite j'ai ouvert l'invite de commande ("demarrer","executer",je tape "command"),
    aprés "cd c:\Perl\bin" , ensuite je tape "perl prestuff <là je tape l'url> <là je tape le path du fichier à mettre en cache>".
    Finalement tout ca pour que j'obtienne ce message:
    Can't locate Win32/API/Prototype.pm in @INC <@INC contains: C:/Perl/lib C:/Perl/site/lib .> at prestuff.pl line 1.
    BEGIN failed--compilation aborted at prestuff.pl line 1.
    j'vois pas ce qu'il me veut là , s'il vous plait aidez moi ! Merci.
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  9. #9
    Membre actif Avatar de scaleo
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 327
    Points : 219
    Points
    219
    Par défaut
    Tu na pas la lib Win32/API/Prototype.pm

    fait
    Démarrer -> executer -> ppm -> search win32 -> install le numéor de la lib
    v'la c tout

    chez moi je fait install 17 pour installer Win32/API/Prototype.pm
    Vista powaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ::

  10. #10
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    special merci à toi
    bon là je fais le 17 aussi (win-locale), ca ne marche pas,
    donc je te donne ce que j'ai comme packages:

    -------------------------------

    1. Win32-AD-Control-Di~ [0.01] LDAPv3 DirSync control wrapper for Net::LD~
    2. Win32-AD-User [0.04] provides routines for Active Directory use~
    3. Win32-ADO [0.03] ADO Constants and a couple of helper funct~
    4. Win32-API [0.41] Perl Win32 API Import Facility
    5. Win32-ASP-Extras [1.01] (none)
    6. Win32-Codepage [1.00] get Win32 codepage information
    7. Win32-CryptData [0.02] Perl wrapper for Win32 CryptProtectData an~
    8. Win32-Die [0.03] Dying gracefully under Win32
    9. Win32-DriveInfo [0.06] drives on Win32 systems
    10. Win32-File-VersionI~ [0.03] Read program version information on Win32
    11. Win32-FileOp [0.14.1] Operations on files, copy/move/delete/recy~
    12. Win32-Girder-IEvent [0.03] Interface to the Girder Internet Events API
    13. Win32-GUI [1.03] Perl-Win32 Graphical User Interface Extens~
    14. Win32-GUI-XMLBuilder [0.34] Build Win32::GUIs using XML
    15. Win32-Hardlink [0.02] Hard links on Win32
    16. Win32-IPHelper [0.04] Perl wrapper for Win32 IP Helper functions~
    17. Win32-Locale [0.04] get the current MSWin locale or language
    18. Win32-MBCS [0.02] Utf8 to win32 local multi-byte string conv~
    19. Win32-MprApi [0.02] Perl wrapper for Win32 Router Configuratio~
    20. Win32-MSAgent [0.04] (none)
    21. Win32-MSI-DB [1.05] Interface for MSI files
    22. Win32-Net-Session [0.02] Perl extension for getting informations ab~
    23. Win32-NetSend [0.02] (none)
    24. Win32-OLE [0.1403] OLE Automation extensions
    25. Win32-PerfCounter [0.01] Use Windows' high performance counter
    26. Win32-Process-Info [1.006] Get information on arbitrary processes in ~
    27. Win32-Process-Memory [0.20] read and write memory of other windows pro~
    28. Win32-Process-Perf [1.01] Performance counter for processes
    29. Win32-Resources [0.02] Manipulate windows executable resources
    30. Win32-SAPI4 [0.08] Perl interface to the Microsoft Speech API~
    31. Win32-SearchPath [0.03] Perl extension for the Win32 API SearchPat~
    32. Win32-SharedFileOpen [3.34] Open a file for shared reading and/or writ~
    33. Win32-ShutDown [0.01] a perl extension to let you shutdown and/o~
    34. Win32-SoundRec [0.02] Module for recording sound on Win32 platfo~
    35. Win32-Symlink [0.04] Symbolic links on Win32
    36. Win32-TieRegistry [0.24] (none)
    37. Win32-TieRegistry-D~ [0.031] dump Win32 registry tree
    38. Win32-UTCFileTime [1.44] Get/set UTC file times with stat/utime on ~
    39. Win32-Wallpaper [0.03] Modify Win32 Wallpaper
    40. Win32API-File-Time [0.005] Get and set file times in Windows - includ~
    41. Win32API-GUID [0.2] Perl extension for creating GUID.
    42. XML-Generator-Win32~ [0.01] Generate SAX (XML) from COM typelibs
    ------------------------

    à moins de tous les installer, comment je trouve le bon ? Merci
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

  11. #11
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par orelero
    à moins de tous les installer, comment je trouve le bon ? Merci
    Sérieusement...
    Tu na pas la lib Win32/API/Prototype.pm
    D'après toi comment trouver la bonne maintenant ?


    Bon là tu as un cas un peu spécial puisque le module n'est pas disponible sur les repositories d'ActiveState, donc il faut chercher un peu (tout ça est dans la FAQ... )
    Il faut rajouter des repositories avant de le trouver, il est dans les deux repositories classiques, bribes et theoryx, il te suffit donc d'utiliser les commandes suivantes avant de refaire ta recherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    rep add bribes http://www.bribes.org/perl/ppm
    rep add threoryx http://theoryx5.uwinnipeg.ca/ppms/
    --
    Jedaï

  12. #12
    Membre actif Avatar de orelero
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 389
    Points : 274
    Points
    274
    Par défaut
    trés bien merci, cette fois ca marche, une fois pou toute
    "L'imagination est plus importante que la connaissance." - Albert Einstein.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Lancer un script perl avec PHP
    Par pepite dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2006, 12h30
  2. Comment lancer un script perl dans un script perl
    Par kiza dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2005, 21h02
  3. [VBA-E]Lancer un script perl
    Par mirascheat dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2005, 19h39
  4. [Système] Lancer un script Perl
    Par ebaynaud dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 14/10/2004, 14h54
  5. Réponses: 13
    Dernier message: 01/10/2004, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo